#include <iostream>
#include <cstdlib>

int main()
{
    // int *a=(int*)malloc(sizeof(int));
    // if(a==NULL)
    // {
    //     return -1;
    // }
    // *a=10;
    // std::cout<<*a<<std::endl;
    // free(a);


    //new delete；关键字
    //1.不需要计算内存大小
    //2.不需要转化指针
    //3.不需要判断是否返回为空：因为申请空间失败，抛出内存异常
    //小括号可以直接初始化内存值

    int *a=new int(10);
    std::cout<<*a<<std::endl;
    delete a;//释放指针


    int *a=new int[3];//申请数组
    delete []a;//释放数组

    //二维数组
    int **a=new int*[2];
    for(int i=0;i<2;i++)
        a[i]=new int[3];
    for(int i=2;i<2;i++)
        delete []a[i];
    delte[]a;

    return 0;
}